<!doctype html><html lang="en">
 <head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  <title>CSS Snapshot 2015</title>
  <meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
  <meta content="completed" name="csswg-work-status">
  <meta content="NOTE" name="w3c-status">
  <meta content="This document collects together into one definition all the specs that  	together form the current state of Cascading Style Sheets (CSS) as of 2015.  	The primary audience is CSS implementers, not CSS authors, as this definition  	includes modules by specification stability, not Web browser adoption rate." name="abstract">
  <link href="../default.css" rel="stylesheet" type="text/css">
  <link href="../csslogo.ico" rel="shortcut icon" type="image/x-icon">
  <link href="https://www.w3.org/StyleSheets/TR/2016/W3C-NOTE" rel="stylesheet" type="text/css">
  <link href="https://www.w3.org/TR/CSS/" rel="canonical">
<style>/* style-md-lists */

/* This is a weird hack for me not yet following the commonmark spec
   regarding paragraph and lists. */
[data-md] > :first-child {
    margin-top: 0;
}
[data-md] > :last-child {
    margin-bottom: 0;
}</style>
<style>/* style-counters */

body {
    counter-reset: example figure issue;
}
.issue {
    counter-increment: issue;
}
.issue:not(.no-marker)::before {
    content: "Issue " counter(issue);
}

.example {
    counter-increment: example;
}
.example:not(.no-marker)::before {
    content: "Example " counter(example);
}
.invalid.example:not(.no-marker)::before,
.illegal.example:not(.no-marker)::before {
    content: "Invalid Example" counter(example);
}

figcaption {
    counter-increment: figure;
}
figcaption:not(.no-marker)::before {
    content: "Figure " counter(figure) " ";
}</style>
<style>/* style-dfn-panel */

.dfn-panel {
    position: absolute;
    z-index: 35;
    height: auto;
    width: -webkit-fit-content;
    width: fit-content;
    max-width: 300px;
    max-height: 500px;
    overflow: auto;
    padding: 0.5em 0.75em;
    font: small Helvetica Neue, sans-serif, Droid Sans Fallback;
    background: #DDDDDD;
    color: black;
    border: outset 0.2em;
}
.dfn-panel:not(.on) { display: none; }
.dfn-panel * { margin: 0; padding: 0; text-indent: 0; }
.dfn-panel > b { display: block; }
.dfn-panel a { color: black; }
.dfn-panel a:not(:hover) { text-decoration: none !important; border-bottom: none !important; }
.dfn-panel > b + b { margin-top: 0.25em; }
.dfn-panel ul { padding: 0; }
.dfn-panel li { list-style: inside; }
.dfn-panel.activated {
    display: inline-block;
    position: fixed;
    left: .5em;
    bottom: 2em;
    margin: 0 auto;
    max-width: calc(100vw - 1.5em - .4em - .5em);
    max-height: 30vh;
}

.dfn-paneled { cursor: pointer; }
</style>
<style>/* style-selflinks */

.heading, .issue, .note, .example, li, dt {
    position: relative;
}
a.self-link {
    position: absolute;
    top: 0;
    left: calc(-1 * (3.5rem - 26px));
    width: calc(3.5rem - 26px);
    height: 2em;
    text-align: center;
    border: none;
    transition: opacity .2s;
    opacity: .5;
}
a.self-link:hover {
    opacity: 1;
}
.heading > a.self-link {
    font-size: 83%;
}
li > a.self-link {
    left: calc(-1 * (3.5rem - 26px) - 2em);
}
dfn > a.self-link {
    top: auto;
    left: auto;
    opacity: 0;
    width: 1.5em;
    height: 1.5em;
    background: gray;
    color: white;
    font-style: normal;
    transition: opacity .2s, background-color .2s, color .2s;
}
dfn:hover > a.self-link {
    opacity: 1;
}
dfn > a.self-link:hover {
    color: black;
}

a.self-link::before            { content: "¶"; }
.heading > a.self-link::before { content: "§"; }
dfn > a.self-link::before      { content: "#"; }</style>
<style>/* style-autolinks */

.css.css, .property.property, .descriptor.descriptor {
    color: #005a9c;
    font-size: inherit;
    font-family: inherit;
}
.css::before, .property::before, .descriptor::before {
    content: "‘";
}
.css::after, .property::after, .descriptor::after {
    content: "’";
}
.property, .descriptor {
    /* Don't wrap property and descriptor names */
    white-space: nowrap;
}
.type { /* CSS value <type> */
    font-style: italic;
}
pre .property::before, pre .property::after {
    content: "";
}
[data-link-type="property"]::before,
[data-link-type="propdesc"]::before,
[data-link-type="descriptor"]::before,
[data-link-type="value"]::before,
[data-link-type="function"]::before,
[data-link-type="at-rule"]::before,
[data-link-type="selector"]::before,
[data-link-type="maybe"]::before {
    content: "‘";
}
[data-link-type="property"]::after,
[data-link-type="propdesc"]::after,
[data-link-type="descriptor"]::after,
[data-link-type="value"]::after,
[data-link-type="function"]::after,
[data-link-type="at-rule"]::after,
[data-link-type="selector"]::after,
[data-link-type="maybe"]::after {
    content: "’";
}

[data-link-type].production::before,
[data-link-type].production::after,
.prod [data-link-type]::before,
.prod [data-link-type]::after {
    content: "";
}

[data-link-type=element],
[data-link-type=element-attr] {
    font-family: Menlo, Consolas, "DejaVu Sans Mono", monospace;
    font-size: .9em;
}
[data-link-type=element]::before { content: "<" }
[data-link-type=element]::after  { content: ">" }

[data-link-type=biblio] {
    white-space: pre;
}</style>
 <body class="h-entry">
  <div class="head">
   <p data-fill-with="logo"><a class="logo" href="https://www.w3.org/"> <img alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" width="72"> </a> </p>
   <h1 class="p-name no-ref" id="title">CSS Snapshot 2015</h1>
   <h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">W3C Note, <time class="dt-updated" datetime="1970-01-01">1 January 1970</time></span></h2>
   <div data-fill-with="spec-metadata">
    <dl>
     <dt>This version:
     <dd><a class="u-url" href="https://www.w3.org/TR/1970/NOTE-css-2015-0-19700101/">https://www.w3.org/TR/1970/NOTE-css-2015-0-19700101/</a>
     <dt>Latest published version:
     <dd><a href="https://www.w3.org/TR/CSS/">https://www.w3.org/TR/CSS/</a>
     <dt>Editor's Draft:
     <dd><a href="https://drafts.csswg.org/css-2015/">https://drafts.csswg.org/css-2015/</a>
     <dt>Previous Versions:
     <dd><a href="https://www.w3.org/TR/2015/NOTE-css-2015-20151013/" rel="prev">https://www.w3.org/TR/2015/NOTE-css-2015-20151013/</a>
     <dt class="editor">Editors:
     <dd class="editor p-author h-card vcard" data-editor-id="42199"><a class="p-name fn u-url url" href="http://xanthir.com/">Tab Atkins Jr.</a> (<span class="p-org org">Google</span>)
     <dd class="editor p-author h-card vcard" data-editor-id="35400"><a class="p-name fn u-url url" href="http://fantasai.inkedblade.net/contact">Elika J. Etemad / fantasai</a> (<span class="p-org org">Invited Expert</span>)
     <dd class="editor p-author h-card vcard" data-editor-id="43241"><a class="p-name fn u-url url" href="https://florian.rivoal.net">Florian Rivoal</a> (<span class="p-org org">Invited Expert</span>)
     <dt>Suggest an Edit for this Spec:
     <dd><a href="https://github.com/w3c/csswg-drafts/blob/master/css-2015-0/Overview.bs">GitHub Editor</a>
     <dt>Issue Tracking:
     <dd><a href="https://github.com/w3c/csswg-drafts/labels/css-2015-0">GitHub Issues</a>
    </dl>
   </div>
   <div data-fill-with="warning"></div>
   <p class="copyright" data-fill-with="copyright"><a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 1970 <a href="https://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a href="https://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="https://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href="https://www.keio.ac.jp/">Keio</a>, <a href="https://ev.buaa.edu.cn/">Beihang</a>). W3C <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document">permissive document license</a> rules apply. </p>
   <hr title="Separator for header">
  </div>
  <div class="p-summary" data-fill-with="abstract">
   <h2 class="no-num no-toc no-ref heading settled" id="abstract"><span class="content">Abstract</span></h2>
   <p>This document collects together into one definition all the specs that

	together form the current state of Cascading Style Sheets (CSS) as of 2015.
	The primary audience is CSS implementers, not CSS authors, as this definition
	includes modules by specification stability, not Web browser adoption rate.</p>
    <a href="https://www.w3.org/TR/CSS/">CSS</a> is a language for describing the rendering of structured documents
(such as HTML and XML)
on screen, on paper, etc. 
  </div>
  <h2 class="no-num no-toc no-ref heading settled" id="status"><span class="content">Status of this document</span></h2>
  <div data-fill-with="status"> This document represents the state of CSS as of 2015.
	The CSS Working Group does not expect any further changes to this document:
	new snapshots will be published at <a href="https://www.w3.org/TR/CSS/">https://www.w3.org/TR/CSS/</a> as CSS advances. </div>
  <div data-fill-with="at-risk"></div>
  <nav data-fill-with="table-of-contents" id="toc">
   <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
   <ol class="toc" role="directory">
    <li>
     <a href="#intro"><span class="secno">1</span> <span class="content">Introduction</span></a>
     <ol class="toc">
      <li><a href="#w3c-process"><span class="secno">1.1</span> <span class="content"> Background: The W3C Process and CSS</span></a>
     </ol>
    <li>
     <a href="#css"><span class="secno">2</span> <span class="content">Cascading Style Sheets (CSS) — The Official Definition</span></a>
     <ol class="toc">
      <li><a href="#css-levels"><span class="secno">2.1</span> <span class="content"> CSS Levels</span></a>
      <li><a href="#profiles"><span class="secno">2.2</span> <span class="content"> CSS Profiles</span></a>
     </ol>
    <li>
     <a href="#responsible"><span class="secno">3</span> <span class="content"> Requirements for Responsible Implementation of CSS</span></a>
     <ol class="toc">
      <li><a href="#partial"><span class="secno">3.1</span> <span class="content">Partial Implementations</span></a>
      <li>
       <a href="#future-proofing"><span class="secno">3.2</span> <span class="content">Implementations of Unstable and Proprietary Features</span></a>
       <ol class="toc">
        <li><a href="#experimental"><span class="secno">3.2.1</span> <span class="content"> Experimentation and Unstable Features</span></a>
        <li><a href="#proprietary"><span class="secno">3.2.2</span> <span class="content"> Proprietary and Non-standardized Features</span></a>
        <li><a href="#de-facto"><span class="secno">3.2.3</span> <span class="content"> Market Pressure and De Facto Standards</span></a>
       </ol>
      <li><a href="#testing"><span class="secno">3.3</span> <span class="content">Implementations of CR-level Features</span></a>
     </ol>
    <li>
     <a href="#indices"><span class="secno">4</span> <span class="content">Indices</span></a>
     <ol class="toc">
      <li><a href="#terms"><span class="secno">4.1</span> <span class="content">Terms Index</span></a>
      <li><a href="#selectors"><span class="secno">4.2</span> <span class="content">Selector Index</span></a>
      <li><a href="#at-rules"><span class="secno">4.3</span> <span class="content"> At-Rule Index</span></a>
      <li><a href="#properties"><span class="secno">4.4</span> <span class="content">Property Index</span></a>
      <li><a href="#values"><span class="secno">4.5</span> <span class="content">Values Index</span></a>
     </ol>
    <li><a href="#acks"><span class="secno">5</span> <span class="content">Acknowledgements</span></a>
    <li>
     <a href="#conformance"><span class="secno"></span> <span class="content"> Conformance</span></a>
     <ol class="toc">
      <li><a href="#document-conventions"><span class="secno"></span> <span class="content"> Document conventions</span></a>
      <li><a href="#conform-classes"><span class="secno"></span> <span class="content"> Conformance classes</span></a>
      <li>
       <a href="#conform-responsible"><span class="secno"></span> <span class="content"> Requirements for Responsible Implementation of CSS</span></a>
       <ol class="toc">
        <li><a href="#conform-partial"><span class="secno"></span> <span class="content"> Partial Implementations</span></a>
        <li><a href="#conform-future-proofing"><span class="secno"></span> <span class="content"> Implementations of Unstable and Proprietary Features</span></a>
        <li><a href="#conform-testing"><span class="secno"></span> <span class="content"> Implementations of CR-level Features</span></a>
       </ol>
     </ol>
    <li>
     <a href="#index"><span class="secno"></span> <span class="content">Index</span></a>
     <ol class="toc">
      <li><a href="#index-defined-here"><span class="secno"></span> <span class="content">Terms defined by this specification</span></a>
      <li><a href="#index-defined-elsewhere"><span class="secno"></span> <span class="content">Terms defined by reference</span></a>
     </ol>
    <li>
     <a href="#references"><span class="secno"></span> <span class="content">References</span></a>
     <ol class="toc">
      <li><a href="#normative"><span class="secno"></span> <span class="content">Normative References</span></a>
      <li><a href="#informative"><span class="secno"></span> <span class="content">Informative References</span></a>
     </ol>
    <li><a href="#issues-index"><span class="secno"></span> <span class="content">Issues Index</span></a>
   </ol>
  </nav>
  <main>
   <h2 class="heading settled" data-level="1" id="intro"><span class="secno">1. </span><span class="content">Introduction</span><a class="self-link" href="#intro"></a></h2>
   <p>When the first CSS specification was published,
	all of CSS was contained in one document that defined CSS Level 1.
	CSS Level 2 was defined also by a single, multi-chapter document.
	However for CSS beyond Level 2,
	the CSS Working Group chose to adopt a modular approach,
	where each module defines a part of CSS,
	rather than to define a single monolithic specification.
	This breaks the specification into more manageable chunks
	and allows more immediate, incremental improvement to CSS.</p>
   <p>Since different CSS modules are at different levels of stability,
	the CSS Working Group has chosen to publish this profile
	to define the current scope and state of Cascading Style Sheets as of late 2015.
	This profile includes only specifications that we consider stable <em>and</em> for which we have enough implementation experience that we are sure of that stability.</p>
   <p class="note" role="note"><span>Note:</span> This is not intended to be a CSS Desktop Browser Profile:
	inclusion in this profile is based on feature stability only
	and not on expected use or Web browser adoption.
	This profile defines CSS in its most complete form.</p>
   <p class="note" role="note"><span>Note:</span> Although we don’t anticipate significant changes to the specifications that form this snapshot,
	their inclusion does not mean they are frozen.
	The Working Group will continue to address problems as they are found in these specs.
	Implementers should monitor <a href="http://lists.w3.org/Archives/Public/www-style/">www-style</a> and/or the <a href="http://www.w3.org/blog/CSS">CSS Working Group Blog</a> for any resulting changes, corrections, or clarifications.</p>
   <h3 class="heading settled" data-level="1.1" id="w3c-process"><span class="secno">1.1. </span><span class="content"> Background: The W3C Process and CSS</span><a class="self-link" href="#w3c-process"></a></h3>
   <p><em>This section is non-normative.</em></p>
   <p>In the <a href="http://www.w3.org/Consortium/Process/">W3C Process</a>,
	a Recommendation-track document passes through three levels of stability,
	summarized below:</p>
   <dl>
    <dt>Working Draft (WD) 
    <dd>
     <p>This is the design phase of a W3C spec.
			The WG iterates the spec in response to internal and external feedback.</p>
     <p>The first official Working Draft is designated the “First Public Working Draft” (FPWD).
			In the CSSWG, publishing FPWD indicates that the Working Group as a whole has agreed to work on the module,
			roughly as scoped out and proposed in the editor’s draft.</p>
     <p>The transition to the next stage is sometimes called “Last Call Working Draft” (LCWD) phase.
 			The CSSWG transitions Working Drafts once we have resolved all known issues,
 			and can make no further progress without feedback from building tests and implementations.</p>
     <p>This “Last Call for Comments” sets a deadline for reporting any outstanding issues,
			and requires the WG to specially track and address incoming feedback.
			The comment-tracking document is the Disposition of Comments (DoC).
			It is submitted along with an updated draft for the Director’s approval,
			to demonstrate wide review and acceptance.</p>
    <dt>Candidate Recommendation (CR) 
    <dd>
      This is the testing phase of a W3C spec.
			Notably, this phase is about using tests and implementations to test the specification:
			it is not about testing the implementations.
			This process often reveals more problems with the spec,
			and so a Candidate Recommendation will morph over time in response to implementation and testing feedback,
			though usually less so than during the design phase (WD). 
     <p>Demonstration of two correct, independent implementations of each feature is required to exit CR,
			so in this phase the WG builds a test suite and generates implementation reports.</p>
     <p>The transition to the next stage is “Proposed Recommendation” (PR).
			During this phase the W3C Advisory Committee must approve the transition to REC.</p>
    <dt>Recommendation (REC) 
    <dd> This is the completed state of a W3C spec and represents a maintainance phase.
			At this point the WG only maintains an errata document
			and occasionally publishes an updated edition that incorporates the errata back into the spec. 
   </dl>
   <p>An <dfn class="dfn-paneled" data-dfn-type="dfn" data-export id="editors-draft">Editor’s Draft</dfn> is effectively a live copy of the editors’ own working copy.
	It may or may not reflect Working Group consensus,
	and can at times be in a self-inconsistent state.
	(Because the publishing process at W3C is time-consuming and onerous,
	the <a data-link-type="dfn" href="#editors-draft" id="ref-for-editors-draft">Editor’s Draft</a> is usually the best (most up-to-date) reference for a spec.
	Efforts are currently underway to reduce the friction of publishing,
	so that official drafts will be regularly up-to-date
	and <span id="ref-for-editors-draft①">Editor’s Drafts</span> can return to their original function as scratch space.)</p>
   <h2 class="heading settled" data-level="2" id="css"><span class="secno">2. </span><span class="content">Cascading Style Sheets (CSS) — The Official Definition</span><a class="self-link" href="#css"></a></h2>
   <p>As of 2015, <dfn data-dfn-type="dfn" data-noexport id="cascading-style-sheets-css">Cascading Style Sheets (CSS)<a class="self-link" href="#cascading-style-sheets-css"></a></dfn> is defined by the following
	specifications.</p>
   <dl>
    <dt><a href="https://www.w3.org/TR/CSS2/">CSS Level 2, latest revision</a> (including errata) <a data-link-type="biblio" href="#biblio-css2">[CSS2]</a> 
    <dd> This defines the core of CSS, parts of which are overridden by later specifications.
				We recommend in particular reading <a href="https://www.w3.org/TR/CSS2/intro.html">Chapter 2</a>,
				which introduces some of the basic concepts of CSS
				and its design principles. 
    <dt><a href="https://www.w3.org/TR/css-syntax-3/">CSS Syntax Level 3</a> <a data-link-type="biblio" href="#biblio-css-syntax-3">[CSS-SYNTAX-3]</a> 
    <dd> Replaces CSS2§4.1, CSS2§4.1, CSS2§4.2, CSS2§4.4, and CSS2§G,
			defining how CSS is parsed. 
    <dt><a href="https://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a> <a data-link-type="biblio" href="#biblio-css-style-attr">[CSS-STYLE-ATTR]</a> 
    <dd> Defines how CSS declarations can be embedded in markup attributes. 
    <dt><a href="https://www.w3.org/TR/css3-mediaqueries/">Media Queries Level 3</a> <a data-link-type="biblio" href="#biblio-css3-mediaqueries">[CSS3-MEDIAQUERIES]</a> 
    <dd> Replaces CSS2§7.3 and expands on the syntax for media-specific styles. 
    <dt><a href="https://www.w3.org/TR/css3-conditional/">CSS Conditional Rules Level 3</a> <a data-link-type="biblio" href="#biblio-css3-conditional">[CSS3-CONDITIONAL]</a> 
    <dd> Replaces CSS2§7.2, updating the definition of <a class="css" data-link-type="maybe" href="https://drafts.csswg.org/css-conditional-3/#at-ruledef-media" id="ref-for-at-ruledef-media">@media</a> rules to allow nesting,
			and introduces <a class="css" data-link-type="maybe" href="https://drafts.csswg.org/css-conditional-3/#at-ruledef-supports" id="ref-for-at-ruledef-supports">@supports</a> rules for feature-support queries. 
    <dt><a href="https://www.w3.org/TR/css3-namespace/">CSS Namespaces</a> <a data-link-type="biblio" href="#biblio-css3-namespace">[CSS3-NAMESPACE]</a> 
    <dd> Introduces an <span class="css">@namespace</span> rule to allow namespace-prefixed selectors. 
    <dt><a href="https://www.w3.org/TR/css3-selectors/">Selectors Level 3</a> <a data-link-type="biblio" href="#biblio-select">[SELECT]</a> 
    <dd> Replaces CSS2§5 and CSS2§6.4.3, defining an extended range of selectors. 
    <dt><a href="https://www.w3.org/TR/css3-cascade/">CSS Cascading and Inheritance Level 3</a> <a data-link-type="biblio" href="#biblio-css-cascade-3">[CSS-CASCADE-3]</a> 
    <dd> Replaces CSS2§1.4.3 and CSS2§6 
    <dt><a href="https://www.w3.org/TR/css3-values/">CSS Values and Units Level 3</a> <a data-link-type="biblio" href="#biblio-css-values-3">[CSS-VALUES-3]</a> 
    <dd> Replaces CSS2§1.4.2.1, CSS2§4.3, and CSS2§A.2.1–3,
			defining CSS’s property definition syntax
			and expanding its set of units. 
    <dt><a href="https://www.w3.org/TR/css3-color/">CSS Color Level 3</a> <a data-link-type="biblio" href="#biblio-css3-color">[CSS3-COLOR]</a> 
    <dd> Replaces CSS2§4.3.6, CSS2§14.1, and CSS2§18.2,
			defining an extended range of color values.
			Also introduces the <a class="property" data-link-type="propdesc" href="https://www.w3.org/TR/css-color-4/#propdef-opacity" id="ref-for-propdef-opacity">opacity</a> property. 
    <dt><a href="https://www.w3.org/TR/css3-background/">CSS Backgrounds and Borders Level 3</a> <a data-link-type="biblio" href="#biblio-css3-background">[CSS3-BACKGROUND]</a> 
    <dd> Replaces CSS2§8.5 and CSS2§14.2,
			providing more control of backgrounds and borders,
			including layered background images,
			image borders,
			and drop shadows. 
    <dt><a href="https://www.w3.org/TR/css3-images/">CSS Image Values and Replaced Content Level 3</a> <a data-link-type="biblio" href="#biblio-css3-images">[CSS3-IMAGES]</a> 
    <dd> Provides a new foundation text for the sizing of replaced elements (such as images),
			adds additional controls to their sizing and orientation,
			and introduces syntax for gradients as images in CSS. 
    <dt><a href="https://www.w3.org/TR/css-fonts-3/">CSS Fonts Level 3</a> <a data-link-type="biblio" href="#biblio-css-fonts-3">[CSS-FONTS-3]</a> 
    <dd> Replaces CSS2§15
			and provides more control over font choice and feature selection. 
    <dt><a href="https://www.w3.org/TR/css3-multicol/">CSS Multi-column Layout Level 1</a> <a data-link-type="biblio" href="#biblio-css3-multicol">[CSS3-MULTICOL]</a> 
    <dd> Introduces multi-column flows to CSS layout. 
    <dt><a href="https://www.w3.org/TR/css3-ui/">CSS User Interface Module Level 3</a> <a data-link-type="biblio" href="#biblio-css-ui-3">[CSS-UI-3]</a> 
    <dd> Replaces CSS2§18.1 and CSS2§18.4,
			defining <a class="property" data-link-type="propdesc" href="https://www.w3.org/TR/css3-ui/#propdef-cursor" id="ref-for-propdef-cursor">cursor</a>, <a class="property" data-link-type="propdesc" href="https://www.w3.org/TR/css3-ui/#propdef-outline" id="ref-for-propdef-outline">outline</a>, and several new CSS features that also enhance the user interface. 
    <dt><a href="https://www.w3.org/TR/compositing-1/">CSS Compositing and Blending Level 1</a> <a data-link-type="biblio" href="#biblio-compositing">[COMPOSITING]</a> 
    <dd> Defines the compositing and blending of overlaid content
			and introduces features to control their modes. 
   </dl>
   <div class="note" role="note">
     The following modules are widely deployed with <a data-link-type="dfn" href="#rough-interoperability" id="ref-for-rough-interoperability">rough interoperability</a>,
		but the details are not fully worked out
		and they need more testing and bugfixing. 
    <dl>
     <dt><a href="https://www.w3.org/TR/css3-transitions/">CSS Transitions Level 1</a> <a data-link-type="biblio" href="#biblio-css3-transitions">[CSS3-TRANSITIONS]</a> and <a href="https://www.w3.org/TR/css3-animations/">CSS Animations Level 1</a> <a data-link-type="biblio" href="#biblio-css3-animations">[CSS3-ANIMATIONS]</a> 
     <dd> Define mechanisms for transitioning the computed values of CSS properties over time. 
     <dt><a href="https://www.w3.org/TR/css-flexbox-1/">CSS Flexible Box Module Level 1</a> <a data-link-type="biblio" href="#biblio-css-flexbox-1">[CSS-FLEXBOX-1]</a> 
     <dd> Introduces a flexible linear layout model for CSS. 
     <dt><a href="https://www.w3.org/TR/css3-transforms/">CSS Transforms Level 1</a> <a data-link-type="biblio" href="#biblio-css3-transforms">[CSS3-TRANSFORMS]</a> 
     <dd> Introduces graphical transformations to CSS. 
    </dl>
   </div>
   <div class="note" role="note">
     The following modules have completed design work,
		and are fairly stable,
		but have not received much testing and implementation experience yet: 
    <dl>
     <dt><a href="https://www.w3.org/TR/css-counter-styles-3/">CSS Counter Styles Level 3</a> <a data-link-type="biblio" href="#biblio-css-counter-styles-3">[CSS-COUNTER-STYLES-3]</a> 
     <dd> Expands the possible values of <a class="production css" data-link-type="type" href="https://www.w3.org/TR/css-counter-styles-3/#typedef-counter-style" id="ref-for-typedef-counter-style" title="Expands to: simp-chinese-formal | simp-chinese-informal | japanese-informal | trad-chinese-formal | cjk-ideographic | japanese-formal | trad-chinese-informal">&lt;counter-style></a> and provides an <a class="css" data-link-type="maybe" href="https://www.w3.org/TR/css-counter-styles-3/#at-ruledef-counter-style" id="ref-for-at-ruledef-counter-style">@counter-style</a> syntax for customized counter styles. 
     <dt><a href="https://www.w3.org/TR/css-masking-1/">CSS Masking Level 1</a> <a data-link-type="biblio" href="#biblio-css-masking-1">[CSS-MASKING-1]</a> 
     <dd> Replaces CSS2§11.1.2
				and introduces more powerful ways of clipping and masking content. 
     <dt><a href="https://www.w3.org/TR/css-shapes-1/">CSS Shapes Module Level 1</a> <a data-link-type="biblio" href="#biblio-css-shapes-1">[CSS-SHAPES-1]</a> 
     <dd> Extends floats to effect non-rectangular wrapping shapes. 
     <dt><a href="https://www.w3.org/TR/css-text-decor-3/">CSS Text Decoration Level 3</a> <a data-link-type="biblio" href="#biblio-css-text-decor-3">[CSS-TEXT-DECOR-3]</a> 
     <dd> Replaces CSS2§16.3,
				providing more control over text decoration lines
				and adding the ability to specify text emphasis marks
				and text shadows. 
     <dt><a href="https://www.w3.org/TR/css-will-change-1/">CSS Will Change Level 1</a> <a data-link-type="biblio" href="#biblio-css-will-change-1">[CSS-WILL-CHANGE-1]</a> 
     <dd> Introduces a performance hint property called <a class="property" data-link-type="propdesc" href="https://www.w3.org/TR/css-will-change-1/#propdef-will-change" id="ref-for-propdef-will-change">will-change</a>. 
    </dl>
    <dt><a href="https://www.w3.org/TR/css3-speech/">CSS Speech Module Level 1</a> <a data-link-type="biblio" href="#biblio-css3-speech">[CSS3-SPEECH]</a> 
    <dd>
      Replaces CSS2§A,
				overhauling the (non-normative) speech rendering chapter. 
     <p>We hope to incorporate them into a future snapshot.</p>
   </div>
   <p><strong class="advisement"> A list of all CSS modules, stable and in-progress,
	and their statuses
	can be found at the <a href="http://www.w3.org/Style/CSS/current-work">CSS Current Work page</a>.</strong></p>
   <h3 class="heading settled" data-level="2.1" id="css-levels"><span class="secno">2.1. </span><span class="content"> CSS Levels</span><a class="self-link" href="#css-levels"></a></h3>
   <p>Cascading Style Sheets does not have versions in the traditional sense;
	instead it has <dfn data-dfn-type="dfn" data-noexport id="levels">levels<a class="self-link" href="#levels"></a></dfn>. Each level of CSS builds on the previous,
	refining definitions and adding features. The feature set of each higher
	level is a superset of any lower level, and the behavior allowed for a given
	feature in a higher level is a subset of that allowed in the lower levels.
	A user agent conforming to a higher level of CSS is thus also conformant to
	all lower levels.</p>
   <dl>
    <dt><dfn class="dfn-paneled" data-dfn-type="dfn" data-export id="css-level-1">CSS Level 1</dfn> 
    <dd> The CSS Working Group considers the <a href="https://www.w3.org/TR/2008/REC-CSS1-20080411/">CSS1 specification</a> to be
			obsolete. <a data-link-type="dfn" href="#css-level-1" id="ref-for-css-level-1">CSS Level 1</a> is defined as all the features defined
			in the CSS1 specification (properties, values, at-rules, etc), but using
			the syntax and definitions in the <a href="https://www.w3.org/TR/CSS2/">CSS2.1 specification</a>. <a href="https://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a> defines its inclusion in element-specific style attributes. 
    <dt><dfn class="dfn-paneled" data-dfn-type="dfn" data-export id="css-level-2">CSS Level 2</dfn> 
    <dd>
      Although the <a href="https://www.w3.org/TR/2008/REC-CSS2-20080411/">CSS2 specification</a> is technically a W3C Recommendation, it passed into the Recommendation stage
			before the W3C had defined the Candidate Recommendation stage. Over time
			implementation experience and further review has brought to light many problems
			in the CSS2 specification, so instead of expanding an already <a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html">unwieldy
			errata list</a>, the CSS Working Group chose to define <cite>CSS Level 2
			Revision 1</cite> (CSS2.1). In case of any conflict between the two specs
			CSS2.1 contains the definitive definition. 
     <p>Once CSS2.1 became Candidate Recommendation—effectively though not
			officially the same level of stability as CSS2—obsoleted the CSS2
			Recommendation.  Features in CSS2 that were dropped from CSS2.1 should be
			considered to be at the Candidate Recommendation stage, but note that many
			of these have been or will be pulled into a CSS Level 3 working draft, in
			which case that specification will, once it reaches CR, obsolete the
			definitions in CSS2.</p>
     <p>The <a href="https://www.w3.org/TR/CSS2/">CSS2.1 specification</a> defines <a data-link-type="dfn" href="#css-level-2" id="ref-for-css-level-2">CSS Level 2</a> and the <a href="https://www.w3.org/TR/css-style-attr/">CSS
			Style Attributes specification</a> defines its inclusion in
			element-specific style attributes.</p>
    <dt><dfn class="dfn-paneled" data-dfn-type="dfn" data-export id="css-level-3">CSS Level 3</dfn> 
    <dd>
      <a data-link-type="dfn" href="#css-level-3" id="ref-for-css-level-3">CSS Level 3</a> builds on CSS Level 2 module by module, using the CSS2.1
			specification as its core. Each module adds functionality and/or
			replaces part of the CSS2.1 specification. The CSS Working Group
			intends that the new CSS modules will not contradict the CSS2.1
			specification: only that they will add functionality and refine
			definitions. As each module is completed, it will be plugged in to
			the existing system of CSS2.1 plus previously-completed modules. 
     <p>From this level on modules are levelled independently: for example
			Selectors Level 4 may well be completed before CSS Line Module Level 3.
			Modules with no <a data-link-type="dfn" href="#css-level-2" id="ref-for-css-level-2①">CSS Level 2</a> equivalent start at Level 1;
			modules that update features that existed in <span id="ref-for-css-level-2②">CSS Level 2</span> start at Level 3.</p>
    <dt><dfn data-dfn-type="dfn" data-export id="css-level-4">CSS Level 4<a class="self-link" href="#css-level-4"></a></dfn> and beyond 
    <dd> There is no CSS Level 4.
			Independent modules can reach level 4 or beyond,
			but CSS the language no longer has levels.
			("CSS Level 3" as a term is used only to differentiate it from the previous monolithic versions.) 
   </dl>
   <h3 class="heading settled" data-level="2.2" id="profiles"><span class="secno">2.2. </span><span class="content"> CSS Profiles</span><a class="self-link" href="#profiles"></a></h3>
   <p>Not all implementations will implement all functionality defined in CSS.
	For example, an implementation may choose to implement only the functionality required by a CSS Profile.
	Profiles define a subset of CSS considered fundamental for a specific class of CSS implementations.
	The W3C CSS Working Group defines the following CSS profiles:</p>
   <ul>
    <li><a href="https://www.w3.org/TR/css-mobile/">CSS Mobile Profile 2.0</a> 
    <li><a href="https://www.w3.org/TR/css-print/">CSS Print Profile 1.0</a> 
    <li><a href="https://www.w3.org/TR/css-tv">CSS TV Profile 1.0</a> 
   </ul>
   <p class="note" role="note"><span>Note:</span> Partial implementations of CSS, even if that subset is an official profile,
	must follow the forward-compatible parsing rules for <a href="#partial">partial implementations</a>.</p>
   <h2 class="heading settled" data-level="3" id="responsible"><span class="secno">3. </span><span class="content"> Requirements for Responsible Implementation of CSS</span><a class="self-link" href="#responsible"></a></h2>
   <p>The following sections define several conformance requirements
	for implementing CSS responsibly,
	in a way that promotes interoperability in the present and future.</p>
   <h3 class="heading settled" data-level="3.1" id="partial"><span class="secno">3.1. </span><span class="content">Partial Implementations</span><a class="self-link" href="#partial"></a></h3>
   <p>So that authors can exploit the forward-compatible parsing rules to assign fallback values, <strong>CSS renderers <em>must</em> treat as invalid
	(and <a href="https://www.w3.org/TR/CSS2/conform.html#ignore">ignore as appropriate</a>)
	any at-rules, properties, property values, keywords, and other syntactic constructs
	for which they have no usable level of support</strong>.
	In particular, user agents <em>must not</em> selectively ignore
	unsupported property values and honor supported values in a single multi-value property declaration:
	if any value is considered invalid (as unsupported values must be),
	CSS requires that the entire declaration be ignored.</p>
   <h3 class="heading settled" data-level="3.2" id="future-proofing"><span class="secno">3.2. </span><span class="content">Implementations of Unstable and Proprietary Features</span><a class="self-link" href="#future-proofing"></a></h3>
   <p>To avoid clashes with future stable CSS features,
	the CSSWG recommends the following best practices for the implementation of <a data-link-type="dfn" href="#unstable" id="ref-for-unstable">unstable</a> features and <a data-link-type="dfn" href="#proprietary-extension" id="ref-for-proprietary-extension">proprietary extensions</a> to CSS:</p>
   <h4 class="heading settled" data-level="3.2.1" id="experimental"><span class="secno">3.2.1. </span><span class="content"> Experimentation and Unstable Features</span><a class="self-link" href="#experimental"></a></h4>
   <p>Implementations of <a data-link-type="dfn" href="#unstable" id="ref-for-unstable①">unstable</a> features
	that are described in W3C specifications
	but are not interoperable
	should not be released broadly for general use;
	but may be released for limited, experimental use in controlled environments.</p>
   <details class="why">
    <summary>Why?</summary>
     We want to allow both authors and implementors to experiment with the feature and give feedback,
		but prevent authors from relying on them in production websites
		and thereby accidentally "locking in" (through content dependence)
		certain syntax or behavior that might change later. 
   </details>
   <div class="example" id="example-e5f16ed9"><a class="self-link" href="#example-e5f16ed9"></a> For example,
		a UA could release an <a data-link-type="dfn" href="#unstable" id="ref-for-unstable②">unstable</a> features for experimentation
		through beta or other testing-stage builds;
		behind a hidden configuration flag;
		behind a switch enabled only for specific testing partners;
		or through some other means of limiting dependent use. </div>
   <p>A CSS feature is considered <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport id="unstable">unstable</dfn> until
	its specification has reached the Candidate Recommendation (CR) stage in the W3C process.
	In exceptional cases,
	the CSSWG may additionally, by an officially-recorded resolution,
	add pre-CR features to the set that are considered safe to release for broad use.</p>
   <p class="note" role="note"><span>Note:</span> Vendors should consult the WG explicitly and not make assumptions on this point,
	as a pre-CR spec that hasn’t changed in awhile is usually more out-of-date than stable.</p>
   <p>The current list of pre-CR features approved for wide release consists of:</p>
   <ul>
    <li>CSS Animations <a data-link-type="biblio" href="#biblio-css3-animations">[CSS3-ANIMATIONS]</a> 
    <li>CSS Transitions <a data-link-type="biblio" href="#biblio-css3-transitions">[CSS3-TRANSITIONS]</a> 
    <li>CSS Transforms <a data-link-type="biblio" href="#biblio-css3-transforms">[CSS3-TRANSFORMS]</a> 
    <li>The <a class="css" data-link-type="maybe" href="https://www.w3.org/TR/css-sizing-3/#valdef-width-min-content" id="ref-for-valdef-width-min-content">min-content</a>, <a class="css" data-link-type="maybe" href="https://www.w3.org/TR/css-sizing-3/#valdef-width-max-content" id="ref-for-valdef-width-max-content">max-content</a>, and <span class="css">fit-content</span> keywords from <a data-link-type="biblio" href="#biblio-css-sizing-3">[CSS-SIZING-3]</a> 
    <li>The <a class="css" data-link-type="maybe" href="https://www.w3.org/TR/selectors4/#dir-pseudo" id="ref-for-dir-pseudo">:dir()</a> and <a class="css" data-link-type="maybe" href="https://www.w3.org/TR/selectors4/#lang-pseudo" id="ref-for-lang-pseudo">:lang()</a> selectors from <a data-link-type="biblio" href="#biblio-selectors4">[SELECTORS4]</a> 
   </ul>
   <h4 class="heading settled" data-level="3.2.2" id="proprietary"><span class="secno">3.2.2. </span><span class="content"> Proprietary and Non-standardized Features</span><a class="self-link" href="#proprietary"></a></h4>
   <p>To avoid clashes with future CSS features,
	the CSS2.1 specification reserves a <dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="vendor prefix | vendor-prefixed | prefixed | unprefixed" data-noexport id="vendor-prefix"><a href="https://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed syntax</a></dfn> <a data-link-type="biblio" href="#biblio-css2">[CSS2]</a> for proprietary and experimental extensions to CSS.
	A CSS feature is a <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport id="proprietary-extension">proprietary extension</dfn> if it is meant for use
	in a closed environment accessible only to a single vendor’s user agent(s).
	A UA should support such <a data-link-type="dfn" href="#proprietary-extension" id="ref-for-proprietary-extension①">proprietary extensions</a> only through a vendor-<a data-link-type="dfn" href="#vendor-prefix" id="ref-for-vendor-prefix">prefixed</a> syntax
	and not expose them to open (multi-UA) environments such as the World Wide Web.</p>
   <details class="why">
    <summary>Why?</summary>
     The prefixing requirement allows shipping specialized features in closed environments
		without conflicting with future additions to standard CSS.
		The restriction on exposure to open systems is to prevent
		accidentally causing the public CSS environment
		to depend on an unstandardized <a data-link-type="dfn" href="#proprietary-extension" id="ref-for-proprietary-extension②">proprietary extensions</a>. 
   </details>
   <div class="example" id="example-5502e5f5"><a class="self-link" href="#example-5502e5f5"></a> For example,
		Firefox’s XUL-based UI, Apple’s iTunes UI, and Microsoft’s Universal Windows Platform app
		use extensions to CSS implemented by their respective UAs.
		So long as these UAs do not allow Web content to access these features,
		they do not provide an opportunity for such content
		to become dependent on their <a data-link-type="dfn" href="#proprietary-extension" id="ref-for-proprietary-extension③">proprietary extensions</a>. </div>
   <p>Even if a feature is intended to eventually be used in the Web,
	if it hasn’t yet been standardized
	it should still not be exposed to the Web.</p>
   <h4 class="heading settled" data-level="3.2.3" id="de-facto"><span class="secno">3.2.3. </span><span class="content"> Market Pressure and De Facto Standards</span><a class="self-link" href="#de-facto"></a></h4>
   <p>If a feature is <a data-link-type="dfn" href="#unstable" id="ref-for-unstable③">unstable</a> (i.e. the spec has not stabilized yet), yet</p>
   <ul>
    <li data-md>
     <p>at least three UAs implement the feature
(<em>or</em> a UA has broken the other rules and shipped for broad use
an <a data-link-type="dfn" href="#unstable" id="ref-for-unstable④">unstable</a> or otherwise non-standard feature in a production release),</p>
    <li data-md>
     <p><em>and</em> the implementations have rough interoperability,</p>
    <li data-md>
     <p><em>and</em> the CSS Working Group has recorded consensus
that this feature should exist and be released,</p>
   </ul>
   <p>implementers may ship that feature <a data-link-type="dfn" href="#vendor-prefix" id="ref-for-vendor-prefix①">unprefixed</a> in broad-release builds. <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport id="rough-interoperability">Rough interoperability</dfn> is satisfied by a subjective judgment
	that even though there may be differences,
	the implementations are sufficiently similar
	to be used in production websites for a substantial number of use cases.</p>
   <p class="note" role="note">Note that the CSSWG must still be consulted to ensure coordination across vendors
		and to ensure sanity review by the CSS experts from each vendor.
		Note also that <a data-link-type="dfn" href="#rough-interoperability" id="ref-for-rough-interoperability①">rough interoperability</a> still usually means
		painful lack of interop in edge (or not-so-edge) cases,
		particularly because details have not been ironed out through the standards review process. </p>
   <details class="why">
    <summary>Why?</summary>
     If a feature is sufficiently popular that three or more browsers have implemented it before it’s finished standardization,
		this clause allows releasing the pressure to ship.
		Also, if a feature has already escaped into the wild and sites have started depending on it,
		pretending it’s still “experimental” doesn’t help anyone.
		Allowing others to ship unprefixed recognizes that the feature is now de facto standardized
		and encourages authors to write cross-platform code. 
   </details>
   <h5 class="no-toc heading settled" data-level="3.2.3.1" id="unstable-syntax"><span class="secno">3.2.3.1. </span><span class="content"> Vendor-prefixing Unstable Features</span><a class="self-link" href="#unstable-syntax"></a></h5>
   <p>When exposing such a standards-track <a data-link-type="dfn" href="#unstable" id="ref-for-unstable⑤">unstable</a> feature to the Web in a production release,
	implementations should support <em>both</em> <a data-link-type="dfn" href="#vendor-prefix" id="ref-for-vendor-prefix②">vendor-prefixed</a> and unprefixed syntaxes
	for the feature.
	Once the feature has stabilized and the implementation is updated to match interoperable behavior,
	support for the <span id="ref-for-vendor-prefix③">vendor-prefixed</span> syntax should be removed. </p>
   <details class="why">
    <summary>Why?</summary>
     This is recommended so that authors can use the unprefixed syntax to target all implementations,
		but when necessary, can target specific implementations
		to work around incompatibilities among implementations
		as they get ironed out through the standards/bugfixing process. 
    <p>The lack of a phase
		where only the prefixed syntax is supported
		greatly reduces the risk of stylesheets
		being written with only the vendor-prefixed syntax.
		This in turn allows UA vendors to retire
		their prefixed syntax once the feature is stable,
		with a lower risk of breaking existing content.
		It also reduces the need occasionally felt by by some vendors
		to support a feature with the prefix of another vendor,
		due to content depending on that syntax.</p>
   </details>
   <p>Anyone promoting <a data-link-type="dfn" href="#unstable" id="ref-for-unstable⑥">unstable</a> features to authors
	should document them using their standard unprefixed syntax,
	and avoid encouraging the use of the <a data-link-type="dfn" href="#vendor-prefix" id="ref-for-vendor-prefix④">vendor-prefixed</a> syntax
	for any purpose other than working around implementation differences.</p>
   <h5 class="no-toc heading settled" data-level="3.2.3.2" id="open-technology"><span class="secno">3.2.3.2. </span><span class="content"> Preserving the Openness of CSS</span><a class="self-link" href="#open-technology"></a></h5>
   <p>In order to preserve the open nature of CSS as a technology,
	vendors should make it possible for other implementors
	to freely implement any features that they do ship.
	To this end, they should provide spec-editing and testing resources
	to complete standardization of such features,
	and avoid other obstacles (e.g., platform dependency, licensing restrictions)
	to their competitors shipping the feature.</p>
   <h3 class="heading settled" data-level="3.3" id="testing"><span class="secno">3.3. </span><span class="content">Implementations of CR-level Features</span><a class="self-link" href="#testing"></a></h3>
   <p>Once a specification reaches the Candidate Recommendation stage,
	implementers should release an <a data-link-type="dfn" href="#vendor-prefix" id="ref-for-vendor-prefix⑤">unprefixed</a> implementation
	of any CR-level feature they can demonstrate
	to be correctly implemented according to spec,
	and should avoid exposing a prefixed variant of that feature.</p>
   <p>To establish and maintain the interoperability of CSS across
	implementations, the CSS Working Group requests that non-experimental
	CSS renderers submit an implementation report (and, if necessary, the
	testcases used for that implementation report) to the W3C before
	releasing an unprefixed implementation of any CSS features. Testcases
	submitted to W3C are subject to review and correction by the CSS
	Working Group.</p>
   <p>Further information on submitting testcases and implementation reports
	can be found from on the CSS Working Group’s website at <a href="http://www.w3.org/Style/CSS/Test/">http://www.w3.org/Style/CSS/Test/</a>.
	Questions should be directed to the <a href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a> mailing list.</p>
   <h2 class="heading settled" data-level="4" id="indices"><span class="secno">4. </span><span class="content">Indices</span><a class="self-link" href="#indices"></a></h2>
   <p><em>These sections are non-normative.</em></p>
   <h3 class="heading settled" data-level="4.1" id="terms"><span class="secno">4.1. </span><span class="content">Terms Index</span><a class="self-link" href="#terms"></a></h3>
   <div data-link-status="TR">
    <ul class="index"></ul>
   </div>
   <p class="issue" id="issue-4f5dc6e0"><a class="self-link" href="#issue-4f5dc6e0"></a> Export terms from animations, backgrounds, selectors, style-attr, conditional, namespaces, ui, css2, and color
	so we can fully generate this index.
	Also, republish stuff that doesn’t have a stable link yet so we can link it here.</p>
   <h3 class="heading settled" data-level="4.2" id="selectors"><span class="secno">4.2. </span><span class="content">Selector Index</span><a class="self-link" href="#selectors"></a></h3>
   <table class="data">
    <thead>
     <tr>
      <th class="pattern">Pattern 
      <th>Meaning 
      <th>Described in section 
      <th>First defined in level 
    <tbody>
     <tr>
      <th scope="row">
       <ul>
        <li data-md>
       </ul>
      <td>any element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#universal-selector">Universal selector</a> 
      <td>2 
     <tr>
      <th scope="row"> E 
      <td>an element of type E 
      <td><a href="https://www.w3.org/TR/css3-selectors/#type-selectors">Type selector</a> 
      <td>1 
     <tr>
      <th scope="row"> E[foo] 
      <td>an E element with a "foo" attribute 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute selectors</a> 
      <td>2 
     <tr>
      <th scope="row"> E[foo="bar"] 
      <td>an E element whose "foo" attribute value is exactly
			equal to "bar" 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute
			selectors</a> 
      <td>2 
     <tr>
      <th scope="row"> E[foo~="bar"] 
      <td>an E element whose "foo" attribute value is a list of
			whitespace-separated values, one of which is exactly equal to "bar" 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute
			selectors</a> 
      <td>2 
     <tr>
      <th scope="row"> E[foo^="bar"] 
      <td>an E element whose "foo" attribute value begins
			exactly with the string "bar" 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute
			selectors</a> 
      <td>3 
     <tr>
      <th scope="row"> E[foo$="bar"] 
      <td>an E element whose "foo" attribute value ends exactly
			with the string "bar" 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute
			selectors</a> 
      <td>3 
     <tr>
      <th scope="row"> E[foo*="bar"] 
      <td>an E element whose "foo" attribute value contains the
			substring "bar" 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute
			selectors</a> 
      <td>3 
     <tr>
      <th scope="row"> E[foo|="en"] 
      <td>an E element whose "foo" attribute has a
			hyphen-separated list of values beginning (from the left) with "en" 
      <td><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors">Attribute
			selectors</a> 
      <td>2 
     <tr>
      <th scope="row"> E:root 
      <td>an E element, root of the document 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:nth-child(n) 
      <td>an E element, the n-th child of its parent 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:nth-last-child(n) 
      <td>an E element, the n-th child of its parent, counting
			from the last one 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:nth-of-type(n) 
      <td>an E element, the n-th sibling of its type 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:nth-last-of-type(n) 
      <td>an E element, the n-th sibling of its type, counting
			from the last one 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:first-child 
      <td>an E element, first child of its parent 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>2 
     <tr>
      <th scope="row"> E:last-child 
      <td>an E element, last child of its parent 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:first-of-type 
      <td>an E element, first sibling of its type 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:last-of-type 
      <td>an E element, last sibling of its type 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:only-child 
      <td>an E element, only child of its parent 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:only-of-type 
      <td>an E element, only sibling of its type 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:empty 
      <td>an E element that has no children (including text
			nodes) 
      <td><a href="https://www.w3.org/TR/css3-selectors/#structural-pseudos">Structural
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:link<br> E:visited 
      <td>an E element being the source anchor of a hyperlink of
			which the target is not yet visited (:link) or already visited
			(:visited) 
      <td><a href="https://www.w3.org/TR/css3-selectors/#link">The link pseudo-classes</a> 
      <td>1 
     <tr>
      <th scope="row"> E:active<br> E:hover<br> E:focus 
      <td>an E element during certain user actions 
      <td><a href="https://www.w3.org/TR/css3-selectors/#useraction-pseudos">The user action
			pseudo-classes</a> 
      <td>1 and 2 
     <tr>
      <th scope="row"> E:target 
      <td>an E element being the target of the referring URI 
      <td><a href="https://www.w3.org/TR/css3-selectors/#target-pseudo">The target pseudo-class</a> 
      <td>3 
     <tr>
      <th scope="row"> E:lang(fr) 
      <td>an element of type E in language "fr" (the document
			language specifies how language is determined) 
      <td><a href="https://www.w3.org/TR/css3-selectors/#lang-pseudo">The :lang() pseudo-class</a> 
      <td>2 
     <tr>
      <th scope="row"> E:enabled<br> E:disabled 
      <td>a user interface element E which is enabled or
			disabled 
      <td><a href="https://www.w3.org/TR/css3-selectors/#UIstates">The UI element states
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E:checked 
      <td>a user interface element E which is
			checked
 (for instance a
			radio-button or checkbox) 
      <td><a href="https://www.w3.org/TR/css3-selectors/#UIstates">The UI element states
			pseudo-classes</a> 
      <td>3 
     <tr>
      <th scope="row"> E::first-line 
      <td>the first formatted line of an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#first-line">The ::first-line
			pseudo-element</a> 
      <td>1 
     <tr>
      <th scope="row"> E::first-letter 
      <td>the first formatted letter of an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#first-letter">The ::first-letter
			pseudo-element</a> 
      <td>1 
     <tr>
      <th scope="row"> E::before 
      <td>generated content before an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#gen-content">The ::before
			pseudo-element</a> 
      <td>2 
     <tr>
      <th scope="row"> E::after 
      <td>generated content after an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#gen-content">The ::after
			pseudo-element</a> 
      <td>2 
     <tr>
      <th scope="row"> E.warning 
      <td>an E element whose class is "warning" (the document
			language specifies how class is determined). 
      <td><a href="https://www.w3.org/TR/css3-selectors/#class-html">Class selectors</a> 
      <td>1 
     <tr>
      <th scope="row"> E#myid 
      <td>an E element with ID equal to "myid". 
      <td><a href="https://www.w3.org/TR/css3-selectors/#id-selectors">ID selectors</a> 
      <td>1 
     <tr>
      <th scope="row"> E:not(s) 
      <td>an E element that does not match simple selector s 
      <td><a href="https://www.w3.org/TR/css3-selectors/#negation">Negation pseudo-class</a> 
      <td>3 
     <tr>
      <th scope="row"> E F 
      <td>an F element descendant of an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#descendant-combinators">Descendant
			combinator</a> 
      <td>1 
     <tr>
      <th scope="row"> E > F 
      <td>an F element child of an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#child-combinators">Child combinator</a> 
      <td>2 
     <tr>
      <th scope="row"> E + F 
      <td>an F element immediately preceded by an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#adjacent-sibling-combinators">Adjacent
			sibling combinator</a> 
      <td>2 
     <tr>
      <th scope="row"> E ~ F 
      <td>an F element preceded by an E element 
      <td><a href="https://www.w3.org/TR/css3-selectors/#general-sibling-combinators">General
			sibling combinator</a> 
      <td>3 
   </table>
   <h3 class="heading settled" data-level="4.3" id="at-rules"><span class="secno">4.3. </span><span class="content"> At-Rule Index</span><a class="self-link" href="#at-rules"></a></h3>
   <ul>
    <li><a href="https://www.w3.org/TR/css-syntax-3/#charset-rule">@charset</a> 
    <li><a href="https://www.w3.org/TR/css-fonts-3/#font-face-rule">@font-face</a> 
    <li><a href="https://www.w3.org/TR/css-cascade-3/#at-import">@import</a> 
    <li><a href="https://www.w3.org/TR/css3-conditional/#at-media">@media</a> 
    <li><a href="https://www.w3.org/TR/CSS2/page.html#page-box">@page</a> 
   </ul>
   <h3 class="heading settled" data-level="4.4" id="properties"><span class="secno">4.4. </span><span class="content">Property Index</span><a class="self-link" href="#properties"></a></h3>
   <p class="issue" id="issue-b27f825f"><a class="self-link" href="#issue-b27f825f"></a> Bikeshed should be amended shortly to allow auto-genning the propdef index.</p>
   <h3 class="heading settled" data-level="4.5" id="values"><span class="secno">4.5. </span><span class="content">Values Index</span><a class="self-link" href="#values"></a></h3>
   <p class="issue" id="issue-156dad38"><a class="self-link" href="#issue-156dad38"></a> Cross-linking from CSS Backgrounds and Borders is kinda broken atm...</p>
   <div data-link-status="TR">
    <ul class="index"></ul>
   </div>
   <h2 class="heading settled" data-level="5" id="acks"><span class="secno">5. </span><span class="content">Acknowledgements</span><a class="self-link" href="#acks"></a></h2>
   <p>Special thanks to Florian Rivoal for creating the initial draft of the <a href="#experimental">§ 3.2.1 Experimentation and Unstable Features</a> recommendations.</p>
  </main>
  <h2 class="no-ref no-num heading settled" id="conformance"><span class="content"> Conformance</span><a class="self-link" href="#conformance"></a></h2>
  <h3 class="heading settled" id="document-conventions"><span class="content"> Document conventions</span><a class="self-link" href="#document-conventions"></a></h3>
  <p>Conformance requirements are expressed with a combination of
	descriptive assertions and RFC 2119 terminology. The key words “MUST”,
	“MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”,
	“RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this
	document are to be interpreted as described in RFC 2119.
	However, for readability, these words do not appear in all uppercase
	letters in this specification. </p>
  <p>All of the text of this specification is normative except sections
	explicitly marked as non-normative, examples, and notes. <a data-link-type="biblio" href="#biblio-rfc2119">[RFC2119]</a> </p>
  <p>Examples in this specification are introduced with the words “for example”
	or are set apart from the normative text with <code>class="example"</code>,
	like this: </p>
  <div class="example" id="example-ae2b6bc0">
   <a class="self-link" href="#example-ae2b6bc0"></a> 
   <p>This is an example of an informative example. </p>
  </div>
  <p>Informative notes begin with the word “Note” and are set apart from the
	normative text with <code>class="note"</code>, like this: </p>
  <p class="note" role="note">Note, this is an informative note. </p>
  <p>Advisements are normative sections styled to evoke special attention and are
	set apart from other normative text with <code>&lt;strong class="advisement"></code>, like
	this: <strong class="advisement"> UAs MUST provide an accessible alternative. </strong> </p>
  <h3 class="heading settled" id="conform-classes"><span class="content"> Conformance classes</span><a class="self-link" href="#conform-classes"></a></h3>
  <p>Conformance to this specification
	is defined for three conformance classes: </p>
  <dl>
   <dt>style sheet 
   <dd>A <a href="http://www.w3.org/TR/CSS2/conform.html#style-sheet">CSS
			style sheet</a>. 
   <dt>renderer 
   <dd>A <a href="http://www.w3.org/TR/CSS2/conform.html#user-agent">UA</a> that interprets the semantics of a style sheet and renders
			documents that use them. 
   <dt>authoring tool 
   <dd>A <a href="http://www.w3.org/TR/CSS2/conform.html#user-agent">UA</a> that writes a style sheet. 
  </dl>
  <p>A style sheet is conformant to this specification
	if all of its statements that use syntax defined in this module are valid
	according to the generic CSS grammar and the individual grammars of each
	feature defined in this module. </p>
  <p>A renderer is conformant to this specification
	if, in addition to interpreting the style sheet as defined by the
	appropriate specifications, it supports all the features defined
	by this specification by parsing them correctly
	and rendering the document accordingly. However, the inability of a
	UA to correctly render a document due to limitations of the device
	does not make the UA non-conformant. (For example, a UA is not
	required to render color on a monochrome monitor.) </p>
  <p>An authoring tool is conformant to this specification
	if it writes style sheets that are syntactically correct according to the
	generic CSS grammar and the individual grammars of each feature in
	this module, and meet all other conformance requirements of style sheets
	as described in this module. </p>
  <h3 class="heading settled" id="conform-responsible"><span class="content"> Requirements for Responsible Implementation of CSS</span><a class="self-link" href="#conform-responsible"></a></h3>
  <p>The following sections define several conformance requirements
		for implementing CSS responsibly,
		in a way that promotes interoperability in the present and future. </p>
  <h4 class="heading settled" id="conform-partial"><span class="content"> Partial Implementations</span><a class="self-link" href="#conform-partial"></a></h4>
  <p>So that authors can exploit the forward-compatible parsing rules to assign fallback values, <strong>CSS renderers <em>must</em> treat as invalid
		(and <a href="http://www.w3.org/TR/CSS2/conform.html#ignore">ignore as appropriate</a>)
		any at-rules, properties, property values, keywords, and other syntactic constructs
		for which they have no usable level of support</strong>.
		In particular, user agents <em>must not</em> selectively ignore
		unsupported property values and honor supported values in a single multi-value property declaration:
		if any value is considered invalid (as unsupported values must be),
		CSS requires that the entire declaration be ignored. </p>
  <h4 class="heading settled" id="conform-future-proofing"><span class="content"> Implementations of Unstable and Proprietary Features</span><a class="self-link" href="#conform-future-proofing"></a></h4>
  <p>To avoid clashes with future stable CSS features,
		the CSSWG recommends <a href="http://www.w3.org/TR/CSS/#future-proofing">following best practices</a> for the implementation of <a href="http://www.w3.org/TR/CSS/#unstable">unstable</a> features and <a href="http://www.w3.org/TR/CSS/#proprietary-extension">proprietary extensions</a> to CSS. </p>
  <h4 class="heading settled" id="conform-testing"><span class="content"> Implementations of CR-level Features</span><a class="self-link" href="#conform-testing"></a></h4>
  <p>Once a specification reaches the Candidate Recommendation stage,
		implementers should release an <a data-link-type="dfn" href="http://www.w3.org/TR/CSS/#vendor-prefix">unprefixed</a> implementation
		of any CR-level feature they can demonstrate
		to be correctly implemented according to spec,
		and should avoid exposing a prefixed variant of that feature. </p>
  <p>To establish and maintain the interoperability of CSS across
		implementations, the CSS Working Group requests that non-experimental
		CSS renderers submit an implementation report (and, if necessary, the
		testcases used for that implementation report) to the W3C before
		releasing an unprefixed implementation of any CSS features. Testcases
		submitted to W3C are subject to review and correction by the CSS
		Working Group. </p>
  <p>
   Further information on submitting testcases and implementation reports
		can be found from on the CSS Working Group’s website at <a href="http://www.w3.org/Style/CSS/Test/">http://www.w3.org/Style/CSS/Test/</a>.
		Questions should be directed to the <a href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a> mailing list. 
<script src="https://www.w3.org/scripts/TR/2016/fixup.js"></script>
  </p>
  <h2 class="no-num no-ref heading settled" id="index"><span class="content">Index</span><a class="self-link" href="#index"></a></h2>
  <h3 class="no-num no-ref heading settled" id="index-defined-here"><span class="content">Terms defined by this specification</span><a class="self-link" href="#index-defined-here"></a></h3>
  <ul class="index">
   <li><a href="#cascading-style-sheets-css">Cascading Style Sheets (CSS)</a><span>, in §2</span>
   <li><a href="#css-level-1">CSS Level 1</a><span>, in §2.1</span>
   <li><a href="#css-level-2">CSS Level 2</a><span>, in §2.1</span>
   <li><a href="#css-level-3">CSS Level 3</a><span>, in §2.1</span>
   <li><a href="#css-level-4">CSS Level 4</a><span>, in §2.1</span>
   <li><a href="#editors-draft">Editor’s Draft</a><span>, in §1.1</span>
   <li><a href="#levels">levels</a><span>, in §2.1</span>
   <li><a href="#vendor-prefix">prefixed</a><span>, in §3.2.2</span>
   <li><a href="#proprietary-extension">proprietary extension</a><span>, in §3.2.2</span>
   <li><a href="#rough-interoperability">Rough interoperability</a><span>, in §3.2.3</span>
   <li><a href="#vendor-prefix">unprefixed</a><span>, in §3.2.2</span>
   <li><a href="#unstable">unstable</a><span>, in §3.2.1</span>
   <li><a href="#vendor-prefix">vendor prefix</a><span>, in §3.2.2</span>
   <li><a href="#vendor-prefix">vendor-prefixed</a><span>, in §3.2.2</span>
  </ul>
  <aside class="dfn-panel" data-for="term-for-propdef-opacity">
   <a href="https://www.w3.org/TR/css-color-4/#propdef-opacity">https://www.w3.org/TR/css-color-4/#propdef-opacity</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-propdef-opacity">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-typedef-counter-style">
   <a href="https://www.w3.org/TR/css-counter-styles-3/#typedef-counter-style">https://www.w3.org/TR/css-counter-styles-3/#typedef-counter-style</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-typedef-counter-style">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-at-ruledef-counter-style">
   <a href="https://www.w3.org/TR/css-counter-styles-3/#at-ruledef-counter-style">https://www.w3.org/TR/css-counter-styles-3/#at-ruledef-counter-style</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-at-ruledef-counter-style">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-valdef-width-max-content">
   <a href="https://www.w3.org/TR/css-sizing-3/#valdef-width-max-content">https://www.w3.org/TR/css-sizing-3/#valdef-width-max-content</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-valdef-width-max-content">3.2.1. 
Experimentation and Unstable Features</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-valdef-width-min-content">
   <a href="https://www.w3.org/TR/css-sizing-3/#valdef-width-min-content">https://www.w3.org/TR/css-sizing-3/#valdef-width-min-content</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-valdef-width-min-content">3.2.1. 
Experimentation and Unstable Features</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-propdef-cursor">
   <a href="https://www.w3.org/TR/css3-ui/#propdef-cursor">https://www.w3.org/TR/css3-ui/#propdef-cursor</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-propdef-cursor">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-propdef-outline">
   <a href="https://www.w3.org/TR/css3-ui/#propdef-outline">https://www.w3.org/TR/css3-ui/#propdef-outline</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-propdef-outline">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-propdef-will-change">
   <a href="https://www.w3.org/TR/css-will-change-1/#propdef-will-change">https://www.w3.org/TR/css-will-change-1/#propdef-will-change</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-propdef-will-change">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-at-ruledef-media">
   <a href="https://drafts.csswg.org/css-conditional-3/#at-ruledef-media">https://drafts.csswg.org/css-conditional-3/#at-ruledef-media</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-at-ruledef-media">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-at-ruledef-supports">
   <a href="https://drafts.csswg.org/css-conditional-3/#at-ruledef-supports">https://drafts.csswg.org/css-conditional-3/#at-ruledef-supports</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-at-ruledef-supports">2. Cascading Style Sheets (CSS) — The Official Definition</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-dir-pseudo">
   <a href="https://www.w3.org/TR/selectors4/#dir-pseudo">https://www.w3.org/TR/selectors4/#dir-pseudo</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-dir-pseudo">3.2.1. 
Experimentation and Unstable Features</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="term-for-lang-pseudo">
   <a href="https://www.w3.org/TR/selectors4/#lang-pseudo">https://www.w3.org/TR/selectors4/#lang-pseudo</a><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-lang-pseudo">3.2.1. 
Experimentation and Unstable Features</a>
   </ul>
  </aside>
  <h3 class="no-num no-ref heading settled" id="index-defined-elsewhere"><span class="content">Terms defined by reference</span><a class="self-link" href="#index-defined-elsewhere"></a></h3>
  <ul class="index">
   <li>
    <a data-link-type="biblio">[css-color-4]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-propdef-opacity" style="color:initial">opacity</span>
    </ul>
   <li>
    <a data-link-type="biblio">[CSS-COUNTER-STYLES-3]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-typedef-counter-style" style="color:initial">&lt;counter-style></span>
     <li><span class="dfn-paneled" id="term-for-at-ruledef-counter-style" style="color:initial">@counter-style</span>
    </ul>
   <li>
    <a data-link-type="biblio">[CSS-SIZING-3]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-valdef-width-max-content" style="color:initial">max-content</span>
     <li><span class="dfn-paneled" id="term-for-valdef-width-min-content" style="color:initial">min-content</span>
    </ul>
   <li>
    <a data-link-type="biblio">[CSS-UI-3]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-propdef-cursor" style="color:initial">cursor</span>
     <li><span class="dfn-paneled" id="term-for-propdef-outline" style="color:initial">outline</span>
    </ul>
   <li>
    <a data-link-type="biblio">[CSS-WILL-CHANGE-1]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-propdef-will-change" style="color:initial">will-change</span>
    </ul>
   <li>
    <a data-link-type="biblio">[CSS3-CONDITIONAL]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-at-ruledef-media" style="color:initial">@media</span>
     <li><span class="dfn-paneled" id="term-for-at-ruledef-supports" style="color:initial">@supports</span>
    </ul>
   <li>
    <a data-link-type="biblio">[SELECTORS4]</a> defines the following terms:
    <ul>
     <li><span class="dfn-paneled" id="term-for-dir-pseudo" style="color:initial">:dir()</span>
     <li><span class="dfn-paneled" id="term-for-lang-pseudo" style="color:initial">:lang()</span>
    </ul>
  </ul>
  <h2 class="no-num no-ref heading settled" id="references"><span class="content">References</span><a class="self-link" href="#references"></a></h2>
  <h3 class="no-num no-ref heading settled" id="normative"><span class="content">Normative References</span><a class="self-link" href="#normative"></a></h3>
  <dl>
   <dt id="biblio-compositing">[COMPOSITING]
   <dd>Rik Cabanier; Nikos Andronikos. <a href="https://www.w3.org/TR/compositing-1/">Compositing and Blending Level 1</a>. 13 January 2015. CR. URL: <a href="https://www.w3.org/TR/compositing-1/">https://www.w3.org/TR/compositing-1/</a>
   <dt id="biblio-css-cascade-3">[CSS-CASCADE-3]
   <dd>Elika Etemad; Tab Atkins Jr.. <a href="https://www.w3.org/TR/css-cascade-3/">CSS Cascading and Inheritance Level 3</a>. 28 August 2018. CR. URL: <a href="https://www.w3.org/TR/css-cascade-3/">https://www.w3.org/TR/css-cascade-3/</a>
   <dt id="biblio-css-color-4">[CSS-COLOR-4]
   <dd>Tab Atkins Jr.; Chris Lilley. <a href="https://www.w3.org/TR/css-color-4/">CSS Color Module Level 4</a>. 5 March 2019. WD. URL: <a href="https://www.w3.org/TR/css-color-4/">https://www.w3.org/TR/css-color-4/</a>
   <dt id="biblio-css-fonts-3">[CSS-FONTS-3]
   <dd>John Daggett; Myles Maxfield; Chris Lilley. <a href="https://www.w3.org/TR/css-fonts-3/">CSS Fonts Module Level 3</a>. 20 September 2018. REC. URL: <a href="https://www.w3.org/TR/css-fonts-3/">https://www.w3.org/TR/css-fonts-3/</a>
   <dt id="biblio-css-sizing-3">[CSS-SIZING-3]
   <dd>Tab Atkins Jr.; Elika Etemad. <a href="https://www.w3.org/TR/css-sizing-3/">CSS Intrinsic &amp; Extrinsic Sizing Module Level 3</a>. 22 May 2019. WD. URL: <a href="https://www.w3.org/TR/css-sizing-3/">https://www.w3.org/TR/css-sizing-3/</a>
   <dt id="biblio-css-style-attr">[CSS-STYLE-ATTR]
   <dd>Tantek Çelik; Elika Etemad. <a href="https://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a>. 7 November 2013. REC. URL: <a href="https://www.w3.org/TR/css-style-attr/">https://www.w3.org/TR/css-style-attr/</a>
   <dt id="biblio-css-syntax-3">[CSS-SYNTAX-3]
   <dd>Tab Atkins Jr.; Simon Sapin. <a href="https://www.w3.org/TR/css-syntax-3/">CSS Syntax Module Level 3</a>. 20 February 2014. CR. URL: <a href="https://www.w3.org/TR/css-syntax-3/">https://www.w3.org/TR/css-syntax-3/</a>
   <dt id="biblio-css-ui-3">[CSS-UI-3]
   <dd>Tantek Çelik; Florian Rivoal. <a href="https://www.w3.org/TR/css-ui-3/">CSS Basic User Interface Module Level 3 (CSS3 UI)</a>. 21 June 2018. REC. URL: <a href="https://www.w3.org/TR/css-ui-3/">https://www.w3.org/TR/css-ui-3/</a>
   <dt id="biblio-css-values-3">[CSS-VALUES-3]
   <dd>Tab Atkins Jr.; Elika Etemad. <a href="https://www.w3.org/TR/css-values-3/">CSS Values and Units Module Level 3</a>. 31 January 2019. CR. URL: <a href="https://www.w3.org/TR/css-values-3/">https://www.w3.org/TR/css-values-3/</a>
   <dt id="biblio-css2">[CSS2]
   <dd>Bert Bos; et al. <a href="https://www.w3.org/TR/CSS2/">Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</a>. 7 June 2011. REC. URL: <a href="https://www.w3.org/TR/CSS2/">https://www.w3.org/TR/CSS2/</a>
   <dt id="biblio-css3-animations">[CSS3-ANIMATIONS]
   <dd>Dean Jackson; et al. <a href="https://www.w3.org/TR/css-animations-1/">CSS Animations Level 1</a>. 11 October 2018. WD. URL: <a href="https://www.w3.org/TR/css-animations-1/">https://www.w3.org/TR/css-animations-1/</a>
   <dt id="biblio-css3-background">[CSS3-BACKGROUND]
   <dd>Bert Bos; Elika Etemad; Brad Kemper. <a href="https://www.w3.org/TR/css-backgrounds-3/">CSS Backgrounds and Borders Module Level 3</a>. 17 October 2017. CR. URL: <a href="https://www.w3.org/TR/css-backgrounds-3/">https://www.w3.org/TR/css-backgrounds-3/</a>
   <dt id="biblio-css3-color">[CSS3-COLOR]
   <dd>Tantek Çelik; Chris Lilley; David Baron. <a href="https://www.w3.org/TR/css-color-3/">CSS Color Module Level 3</a>. 19 June 2018. REC. URL: <a href="https://www.w3.org/TR/css-color-3/">https://www.w3.org/TR/css-color-3/</a>
   <dt id="biblio-css3-conditional">[CSS3-CONDITIONAL]
   <dd>David Baron. <a href="https://www.w3.org/TR/css3-conditional/">CSS Conditional Rules Module Level 3</a>. 4 April 2013. CR. URL: <a href="https://www.w3.org/TR/css3-conditional/">https://www.w3.org/TR/css3-conditional/</a>
   <dt id="biblio-css3-images">[CSS3-IMAGES]
   <dd>Elika Etemad; Tab Atkins Jr.. <a href="https://www.w3.org/TR/css3-images/">CSS Image Values and Replaced Content Module Level 3</a>. 17 April 2012. CR. URL: <a href="https://www.w3.org/TR/css3-images/">https://www.w3.org/TR/css3-images/</a>
   <dt id="biblio-css3-mediaqueries">[CSS3-MEDIAQUERIES]
   <dd>Florian Rivoal; et al. <a href="https://www.w3.org/TR/css3-mediaqueries/">Media Queries</a>. 19 June 2012. REC. URL: <a href="https://www.w3.org/TR/css3-mediaqueries/">https://www.w3.org/TR/css3-mediaqueries/</a>
   <dt id="biblio-css3-multicol">[CSS3-MULTICOL]
   <dd>Florian Rivoal; Rachel Andrew. <a href="https://www.w3.org/TR/css-multicol-1/">CSS Multi-column Layout Module Level 1</a>. 28 May 2018. WD. URL: <a href="https://www.w3.org/TR/css-multicol-1/">https://www.w3.org/TR/css-multicol-1/</a>
   <dt id="biblio-css3-namespace">[CSS3-NAMESPACE]
   <dd>Elika Etemad. <a href="https://www.w3.org/TR/css-namespaces-3/">CSS Namespaces Module Level 3</a>. 20 March 2014. REC. URL: <a href="https://www.w3.org/TR/css-namespaces-3/">https://www.w3.org/TR/css-namespaces-3/</a>
   <dt id="biblio-css3-transforms">[CSS3-TRANSFORMS]
   <dd>Simon Fraser; et al. <a href="https://www.w3.org/TR/css-transforms-1/">CSS Transforms Module Level 1</a>. 14 February 2019. CR. URL: <a href="https://www.w3.org/TR/css-transforms-1/">https://www.w3.org/TR/css-transforms-1/</a>
   <dt id="biblio-css3-transitions">[CSS3-TRANSITIONS]
   <dd>David Baron; et al. <a href="https://www.w3.org/TR/css-transitions-1/">CSS Transitions</a>. 11 October 2018. WD. URL: <a href="https://www.w3.org/TR/css-transitions-1/">https://www.w3.org/TR/css-transitions-1/</a>
   <dt id="biblio-rfc2119">[RFC2119]
   <dd>S. Bradner. <a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>. March 1997. Best Current Practice. URL: <a href="https://tools.ietf.org/html/rfc2119">https://tools.ietf.org/html/rfc2119</a>
   <dt id="biblio-select">[SELECT]
   <dd>Tantek Çelik; et al. <a href="https://www.w3.org/TR/selectors-3/">Selectors Level 3</a>. 6 November 2018. REC. URL: <a href="https://www.w3.org/TR/selectors-3/">https://www.w3.org/TR/selectors-3/</a>
   <dt id="biblio-selectors4">[SELECTORS4]
   <dd>Elika Etemad; Tab Atkins Jr.. <a href="https://www.w3.org/TR/selectors-4/">Selectors Level 4</a>. 21 November 2018. WD. URL: <a href="https://www.w3.org/TR/selectors-4/">https://www.w3.org/TR/selectors-4/</a>
  </dl>
  <h3 class="no-num no-ref heading settled" id="informative"><span class="content">Informative References</span><a class="self-link" href="#informative"></a></h3>
  <dl>
   <dt id="biblio-css-counter-styles-3">[CSS-COUNTER-STYLES-3]
   <dd>Tab Atkins Jr.. <a href="https://www.w3.org/TR/css-counter-styles-3/">CSS Counter Styles Level 3</a>. 14 December 2017. CR. URL: <a href="https://www.w3.org/TR/css-counter-styles-3/">https://www.w3.org/TR/css-counter-styles-3/</a>
   <dt id="biblio-css-flexbox-1">[CSS-FLEXBOX-1]
   <dd>Tab Atkins Jr.; et al. <a href="https://www.w3.org/TR/css-flexbox-1/">CSS Flexible Box Layout Module Level 1</a>. 19 November 2018. CR. URL: <a href="https://www.w3.org/TR/css-flexbox-1/">https://www.w3.org/TR/css-flexbox-1/</a>
   <dt id="biblio-css-masking-1">[CSS-MASKING-1]
   <dd>Dirk Schulze; Brian Birtles; Tab Atkins Jr.. <a href="https://www.w3.org/TR/css-masking-1/">CSS Masking Module Level 1</a>. 26 August 2014. CR. URL: <a href="https://www.w3.org/TR/css-masking-1/">https://www.w3.org/TR/css-masking-1/</a>
   <dt id="biblio-css-shapes-1">[CSS-SHAPES-1]
   <dd>Vincent Hardy; Rossen Atanassov; Alan Stearns. <a href="https://www.w3.org/TR/css-shapes-1/">CSS Shapes Module Level 1</a>. 20 March 2014. CR. URL: <a href="https://www.w3.org/TR/css-shapes-1/">https://www.w3.org/TR/css-shapes-1/</a>
   <dt id="biblio-css-text-decor-3">[CSS-TEXT-DECOR-3]
   <dd>Elika Etemad; Koji Ishii. <a href="https://www.w3.org/TR/css-text-decor-3/">CSS Text Decoration Module Level 3</a>. 3 July 2018. CR. URL: <a href="https://www.w3.org/TR/css-text-decor-3/">https://www.w3.org/TR/css-text-decor-3/</a>
   <dt id="biblio-css-will-change-1">[CSS-WILL-CHANGE-1]
   <dd>Tab Atkins Jr.. <a href="https://www.w3.org/TR/css-will-change-1/">CSS Will Change Module Level 1</a>. 3 December 2015. CR. URL: <a href="https://www.w3.org/TR/css-will-change-1/">https://www.w3.org/TR/css-will-change-1/</a>
   <dt id="biblio-css3-speech">[CSS3-SPEECH]
   <dd>Daniel Weck. <a href="https://www.w3.org/TR/css3-speech/">CSS Speech Module</a>. 5 June 2018. NOTE. URL: <a href="https://www.w3.org/TR/css3-speech/">https://www.w3.org/TR/css3-speech/</a>
  </dl>
  <h2 class="no-num no-ref heading settled" id="issues-index"><span class="content">Issues Index</span><a class="self-link" href="#issues-index"></a></h2>
  <div style="counter-reset:issue">
   <div class="issue"> Export terms from animations, backgrounds, selectors, style-attr, conditional, namespaces, ui, css2, and color
	so we can fully generate this index.
	Also, republish stuff that doesn’t have a stable link yet so we can link it here.<a href="#issue-4f5dc6e0"> ↵ </a></div>
   <div class="issue"> Bikeshed should be amended shortly to allow auto-genning the propdef index.<a href="#issue-b27f825f"> ↵ </a></div>
   <div class="issue"> Cross-linking from CSS Backgrounds and Borders is kinda broken atm...<a href="#issue-156dad38"> ↵ </a></div>
  </div>
  <aside class="dfn-panel" data-for="editors-draft">
   <b><a href="#editors-draft">#editors-draft</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-editors-draft">1.1. 
Background: The W3C Process and CSS</a> <a href="#ref-for-editors-draft①">(2)</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="css-level-1">
   <b><a href="#css-level-1">#css-level-1</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-css-level-1">2.1. 
CSS Levels</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="css-level-2">
   <b><a href="#css-level-2">#css-level-2</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-css-level-2">2.1. 
CSS Levels</a> <a href="#ref-for-css-level-2①">(2)</a> <a href="#ref-for-css-level-2②">(3)</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="css-level-3">
   <b><a href="#css-level-3">#css-level-3</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-css-level-3">2.1. 
CSS Levels</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="unstable">
   <b><a href="#unstable">#unstable</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-unstable">3.2. Implementations of Unstable and Proprietary Features</a>
    <li><a href="#ref-for-unstable①">3.2.1. 
Experimentation and Unstable Features</a> <a href="#ref-for-unstable②">(2)</a>
    <li><a href="#ref-for-unstable③">3.2.3. 
Market Pressure and De Facto Standards</a> <a href="#ref-for-unstable④">(2)</a>
    <li><a href="#ref-for-unstable⑤">3.2.3.1. 
Vendor-prefixing Unstable Features</a> <a href="#ref-for-unstable⑥">(2)</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="vendor-prefix">
   <b><a href="#vendor-prefix">#vendor-prefix</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-vendor-prefix">3.2.2. 
Proprietary and Non-standardized Features</a>
    <li><a href="#ref-for-vendor-prefix①">3.2.3. 
Market Pressure and De Facto Standards</a>
    <li><a href="#ref-for-vendor-prefix②">3.2.3.1. 
Vendor-prefixing Unstable Features</a> <a href="#ref-for-vendor-prefix③">(2)</a> <a href="#ref-for-vendor-prefix④">(3)</a>
    <li><a href="#ref-for-vendor-prefix⑤">3.3. Implementations of CR-level Features</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="proprietary-extension">
   <b><a href="#proprietary-extension">#proprietary-extension</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-proprietary-extension">3.2. Implementations of Unstable and Proprietary Features</a>
    <li><a href="#ref-for-proprietary-extension①">3.2.2. 
Proprietary and Non-standardized Features</a> <a href="#ref-for-proprietary-extension②">(2)</a> <a href="#ref-for-proprietary-extension③">(3)</a>
   </ul>
  </aside>
  <aside class="dfn-panel" data-for="rough-interoperability">
   <b><a href="#rough-interoperability">#rough-interoperability</a></b><b>Referenced in:</b>
   <ul>
    <li><a href="#ref-for-rough-interoperability">2. Cascading Style Sheets (CSS) — The Official Definition</a>
    <li><a href="#ref-for-rough-interoperability①">3.2.3. 
Market Pressure and De Facto Standards</a>
   </ul>
  </aside>
<script>/* script-dfn-panel */

document.body.addEventListener("click", function(e) {
    var queryAll = function(sel) { return [].slice.call(document.querySelectorAll(sel)); }
    // Find the dfn element or panel, if any, that was clicked on.
    var el = e.target;
    var target;
    var hitALink = false;
    while(el.parentElement) {
        if(el.tagName == "A") {
            // Clicking on a link in a <dfn> shouldn't summon the panel
            hitALink = true;
        }
        if(el.classList.contains("dfn-paneled")) {
            target = "dfn";
            break;
        }
        if(el.classList.contains("dfn-panel")) {
            target = "dfn-panel";
            break;
        }
        el = el.parentElement;
    }
    if(target != "dfn-panel") {
        // Turn off any currently "on" or "activated" panels.
        queryAll(".dfn-panel.on, .dfn-panel.activated").forEach(function(el){
            el.classList.remove("on");
            el.classList.remove("activated");
        });
    }
    if(target == "dfn" && !hitALink) {
        // open the panel
        var dfnPanel = document.querySelector(".dfn-panel[data-for='" + el.id + "']");
        if(dfnPanel) {
            dfnPanel.classList.add("on");
            var rect = el.getBoundingClientRect();
            dfnPanel.style.left = window.scrollX + rect.right + 5 + "px";
            dfnPanel.style.top = window.scrollY + rect.top + "px";
            var panelRect = dfnPanel.getBoundingClientRect();
            var panelWidth = panelRect.right - panelRect.left;
            if(panelRect.right > document.body.scrollWidth && (rect.left - (panelWidth + 5)) > 0) {
                // Reposition, because the panel is overflowing
                dfnPanel.style.left = window.scrollX + rect.left - (panelWidth + 5) + "px";
            }
        } else {
            console.log("Couldn't find .dfn-panel[data-for='" + el.id + "']");
        }
    } else if(target == "dfn-panel") {
        // Switch it to "activated" state, which pins it.
        el.classList.add("activated");
        el.style.left = null;
        el.style.top = null;
    }

});
</script>